home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / tools / ask / askdates / askdates.his < prev    next >
Encoding:
Text File  |  1998-08-24  |  10.9 KB  |  282 lines

  1. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  2. ┃        ASK3対応 アクセサリシリーズ7                  ┃
  3. ┃            「ASKDates」                      ┃
  4. ┃         Copyright (C) 1998 by AIG-Soft                      ┃
  5. ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  6. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  7. ┃    歴史・・・というより日記かも(^^;)                      ┃
  8. ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  9.  
  10. 1998/07/25
  11.     ふと思い付いて日付入力と時刻入力をASKAccに付けようと思う。
  12.  
  13.     さらに、西暦-元号変換があると便利なので、それも入れよう。
  14.     あ~、履歴書を書いている時に入れれば楽出来たのに(^_^)。
  15.  
  16. 1998/07/27
  17.     気力さえ充実してれば半日で出来るものを、
  18.     最近夏ばて気味、どころか完全にばててるので3日もかかった。
  19.     正味プログラムを組んだのは1日だけだが。
  20.     CRTに向かうとどうにもやる気がなくなる。
  21.     こういう時はノートPC(DynaBook EZ465...純粋なDOS V5マシンだ)で
  22.     ソース編集するとなぜか捗る。やはり電磁波が無いせいか?
  23.     私のような使い方の人間に、WindowsノートPCなんて無用だ。
  24.  
  25.     ここからハンドコンパイル開始。
  26.  
  27. 1998/07/28 昼
  28.     自転車で30キロ程走ってたら夕立にあってしまった。
  29.     目に見える範囲で落雷が数回+バケツをひっくり返したような土砂降りだった。
  30.     幸い、近くにあった地下道で雨宿りが出来たので、そんなには濡れてない。
  31.     しかし、一日2回も土砂降りがあるとは、不覚。
  32.  
  33. 1998/07/28 夜
  34.     codeA.sysへのFPコール追加の話が満開ネットである。
  35.     そこでも書いたけど、ASKのFPコールは必要十分ではない。
  36.     特に内部状態取得/設定のためのコールが足りていない。
  37.     そのあたりをぜひ、追加して欲しい。
  38.     それと後で書くやつも1つ宜しく(^_^)/。
  39.  
  40. 1998/07/29
  41.     ハンドコンパイル完了。
  42.  
  43.     元号を正式名称での入力にも対応させる。漢字2文字=32ビットで処理出来るから楽。
  44.     元号に明治より前を入れてないけどいいよね?少なくとも私の回りには明治より前のものは
  45.     存在しないので対応しない(明治の物はある。田舎の家も明治の作りだし)。
  46.     歴史を勉強していている人は自分で追加しよう。
  47.  
  48.     起動キーはOPT.1+記号入力。
  49.     あれ?SuperED上で使えんじゃないか?
  50.         ・・・
  51.     SuperEDではOPT.1キーをシフトキーとして"内部"で処理してしまうため、
  52.     ASKに渡されないようである。このためOPT.1を使ったものは起動・操作出来なくなる。
  53.     SuperEDを不対応にするのは余りに問題がある過ぎるので、起動キーを変える。
  54.     
  55.     最初30マシンで開発して、00マシンでこの現象を見つけたから、00マシンの
  56.     何かの常駐物との相性かと思って、随分と調べるのに時間を使ってしまった。
  57.     SuperEDのOPT.1を常に乗っ取るというのはいかんよなぁ。
  58.  
  59.     今まで作ったものの中では、DicBushuの画数ジャンプがあるので、これには
  60.     .docに注意書きを入れることにする(これは+SHIFTでも操作可能なので操作キーは変えない)。
  61.  
  62. 1998/07/30    V1.0
  63.     起動キーをCTRL+記号入力に変更して完成。
  64.     しかし、この先、もう起動キーを思い付けないかも。
  65.  
  66. 1998/07/31
  67.     田舎へ帰る。
  68.  
  69. 1998/08/11
  70.     10日間の田舎帰省から戻る。
  71.  
  72.     で、ASKDatesの感想をいただいてたので感激。
  73.     けっこういい加減に作ったプログラムだから、誰も使わないだろうと思っていただけに、
  74.     感激もひとしおであった。
  75.     その中に「フォーマットを外部で指定したい」という要望も有ったので実装を考えてみる。
  76.     けっこう難しそうなので、取り合えずは同じく感想をもらったASKCodesの要望実現の方を
  77.     優先する。
  78.  
  79. 1998/08/15
  80.     ふと良い方法を思い付いてC版でテスト。うまくいく。
  81.     が、アセンブラーレベルでの修正はけっこう大規模になるので時間がかかりそう。
  82.     DicExの処理と似ているのでそこから借りてくる・・・あっ、DicExにバグ発見(^_^;)。
  83.  
  84. 1998/08/16
  85.     ハンドコンパイルも何とか終わったが、謎のバグで完全暴走する。
  86.     DicExのバグをまた発見。いかん、メモリー確保/解放関係がむちゃくちゃだぞ。
  87.  
  88. 1998/08/17
  89.     再就職先へ行き始める。
  90.     ・・・う~ん、3ヶ月半ぶりの社会復帰は堪えるぜ(^_^;)
  91.     これからは今までのように時間は取れなくなるので、家に帰ってからのわずかな時間に
  92.     開発をするしかない。
  93.  
  94. 1998/08/18
  95.     朝起きた時に急に謎のバグの原因を悟る(^_^;)。
  96.     たった1行の抜けによるバグであった。
  97.     
  98.     大幅に内部処理を変えたにもかかわらず、常駐サイズが(フォーマットファイル分を除いて)
  99.     ほとんど変わらないというのは東洋の神秘かもしれない。
  100.  
  101.     フォーマットをフリーにすると、全角出力の時の変換に問題が出るなぁ。
  102.     全角化を強化するが、基本的にはそのまま。
  103.     あっ、バグみっけ。
  104.     「時刻が9時以下の時に半角出力すると、10の位がスペースになっている」
  105.     全角化の中で' '->'0'していた処理を半角時にも通る処理にしただけ。
  106.  
  107.     フォーマットを変えるごとに秒が変わる?
  108.     V1もそうだったか。
  109.     ちょっといけないので、起動ごとに1回だけ読み出すように変更する。
  110.     あれ、日付の出力がおかしくなってる。なぜ?
  111.  
  112. 1998/08/19
  113.     会社で歓迎会をやってくれるというので行く・・・もう二度と会社で飲みにはいかんぞ!(T_T)
  114.     空気は綺麗に、酒はしんみり飲むのが好き。
  115.     私には社会適合性がないのかもしれない。
  116.         ・・・それはともかく・・・
  117.     最後まで残っていたバグが取れたので本体完成。
  118.     後はフォーマットファイルを作るプログラムを書かなければ。
  119.     (今まではバイナリーエディターで直接ファイルを作ってた。)
  120.  
  121. 1998/08/21    V2.0
  122.     何とかフォーマットコンバーターも完成。
  123.  
  124. 1998/08/24    V2.01
  125.     ぷにぐらま~ずまにゅある(立花えり子氏)のFPコールの分を読んでいて、
  126.     いいルーチン(半角→全角変換)を発見したので使うことにする。
  127.     これで少しだけプログラムサイズが小さくなるはずだ。
  128.     
  129.     同じく変更したASKAccは500バイトもサイズが減ったが、こちらはたった50
  130.     バイトである。この差は、ASKAccで使った全角→半角はIOCSに存在しないため
  131.     自前で処理してからであり、ASKDatesで使った半角→全角はIOCSに存在したからである。
  132.     何で一方だけ存在するのかは解らないが、FPコールの抜けといいこれといい、
  133.     手抜きなところがSHARPなのかもしれない。
  134.  
  135.     どちらもFPコールなのでASKが存在しない状態では動かないが、
  136.     アクセサリが動作する状態では、当然ASKは存在するので問題無い。
  137.  
  138. ・・・いつものことだけど、プログラムとは関係無い話をたくさん書いて
  139. アーカイブのサイズを大きくしてしまうというのは、ひょっとするといけないことなのかも。
  140. まぁ、今は昔と違って通信速度も速いので、少し位(少しか?^^;)サイズが大きくなっても
  141. いいよね!?それともこんなものいらない?
  142.  
  143. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  144. ┃    技術的な話    (プログラム内部に興味の無い人は飛ばそう!)          ┃
  145. ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  146.  
  147. ASKとのやりとりに使われるcbuf。
  148. 起動時に、変換ラインの内容をコピーしてくるのだが、以後はCACI_ENDで終了するまでは
  149. 一切変更されない。プログラム中で書き替えても、そのまま記録されている。
  150.  
  151. これが何を意味するかというと、変換ラインに何か入っているかどうかで動作を分ける場合、
  152. cbuf[0]==0だけで処理すると、だめなのである。
  153. なぜなら、アクセサリの呼び出しは一旦起動されると全てのキー入力後毎に起こるからである。
  154. C版のDates()の処理の中で、年号変換の起動判定部分やエラーが起こった時にcbuf[0]=0と
  155. わざと代入しているのはそのためである。
  156.  
  157. また、cbufを書き替えても変換ラインそのものは変化しない。
  158. kbufはアクセサリが有効な内は変換ラインの内容になるが、CACI_ENDで終わった後の
  159. 変換ラインの内容を変化させる方法はない。
  160. だから、ASKAccの再変換のようにKSD等の力を借りる必要がある。
  161.  
  162. FDSさん、codeA.sysにそういうファンクション付けません?(^_^;)
  163. 変換ライン内容を変更出来るFPコール。
  164.  
  165.     ・・・常駐サイズとSETBLOCKサイズ・・・
  166.  
  167. 何か、この2つのサイズをごっちゃにとらえていたようで、DicExは間違ってた。
  168. このプログラムのバージョンアップに合わせて修正したけど。
  169. 他のプログラムはあってた。
  170.  
  171. で、2つの関係。
  172.  
  173.     常駐サイズ=プログラムサイズのみで良い
  174.         KEEP_END-KEEP_START
  175.  
  176.     SETBLOCKのサイズ
  177.         プログラムのサイズ+プロセス管理ポインタ分のサイズ
  178.         add.l    #PSPSIZ-MPSIZ,d0
  179.  
  180. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  181. ┃    あとがき                                  ┃
  182. ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  183.  
  184. 最初はASCAccに入れるつもりだったんだけど、予想以上にものが大きくなったので、
  185. 分離してASKDatesになりましたとさ。
  186.  
  187. 単独のプログラムとして考えれば、至極簡単なプログラムだけど、
  188. アクセサリにすることでそれなりに意味が出てくる・・・かもしれない。
  189. 履歴書を書く時等に、西暦-元号の変換で悩んだ経験はないですか?
  190. そういう時、これがあれば一発。
  191. 履歴書を書かなければいけない人、必須アイテムとなるか。
  192. もう少し速く開発してれば、苦労しないで済んだのに(^_^;)。
  193.  
  194.     ・・・
  195.  
  196. 最近、小手先の開発が多いので、ここは一発、技術的に人をうならせるようなものを
  197. 創りたい。そこで、次回予告。
  198.  
  199.     AIG-Softが自信を持ってお送りする
  200.         構想2年(マジ)、制作2カ月
  201.     ASK、というより漢字変換の本質に迫る究極のアクセサリ!!
  202.         その名は(企業秘密により削除じゃなくて未定 ^^;)
  203.  
  204.     ・・・ちゃんと出来ればいいのですけど・・・
  205.  
  206. でもでも、再就職が決まったので当面大規模開発は出来ないかも。
  207. ということは、また小手先開発が続くかも(^_^;)。
  208.  
  209.     ・・・
  210.  
  211. キーの配置などは私の趣味です。変更出来ません(^_^;)。
  212. (私は普段ENV3.ASKをちょっとだけ変えたものを使っています。)
  213. どうしてもしたい人は、ソースを直して下さい。
  214.  
  215. ひょっとすると、まだどこかにバグが潜んでいるかも知れません。
  216. 何か見つけた人はご連絡を。
  217. でも、お約束だけど、何があっても「責任取って!」はなしね。
  218.  
  219.     「フリーソフトは使う側の責任で。」
  220.  
  221. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  222. ┃    作成環境                                  ┃
  223. ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  224.  
  225. ASKDatesは次の環境で作成・動作チェックされました。(敬称略)
  226.  
  227.     X68030 (25MHz/12M-Memory/FPU)
  228.     X68000 CompactXVI(16MHz/10M-Memory)
  229.     DynaBook EZ486(25MHz,/10M-Memory) ... ソース・ドキュメントの編集一部だけ
  230.     
  231.     Human68K    V3.02        SHARP/Hudson
  232.     COMMAND.x    v3.00        SHARP/Hudson
  233.     ASK68K.SYS    V3.02        SHARP/ACCESS Co.LTD.
  234.     codeA.SYS    V0.05        FDS/SHARP/ACCESS Co.LTD.
  235.     SX-Window    V3.10        SHARP/First Class Technology
  236.     
  237.     HIOCS-plus    V16.11        SHARP/Y.Nakamura/立花えり子
  238.     TwentyOne.sys    v1.36c14+p2     Ext/GORRY/立花えり子
  239.     
  240.     HAS060        v3.09+75    Y.Nakamura/M.Kamada
  241.     HLK evolution    v3.01+9        SALT/立花えり子
  242.     
  243.     GCC        based on 1.42    F.S.F/真理子
  244.     XC-Lib        v2.1 NewKit    SHARP/Hudson
  245.     
  246.     WS        V0.90        Fuchi
  247.     SuperED        v1.18        T.Nishikawa
  248.     
  249.     その他多くのソフトたち。
  250.  
  251. 特に、ASKはV3.02で、codeAはV0.05でしか確認していません。
  252. ASKのV3.00,3.01では動作するかどうかは未確認です。
  253.  
  254. 各ソフトの開発者に感謝致します。
  255.  
  256. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  257. ┃    参考文献                                  ┃
  258. ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  259.  
  260.     XC V2.1 NewKit    Cライブラリマニュアル2/プログラマーズマニュアル
  261.  
  262.     ぷにぐらま~ずまにゅある 第五版  第四刷,立花えり子
  263.         やはりオンラインマニュアルはとっさの時に役立ちます。
  264.  
  265.     年号の対応は、以前作った自作プログラムyear.xのソースを参考にしてますが、
  266.     発表してないので、誰も知らないことでしょう(そりゃそうだ)。
  267.  
  268. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  269. ┃    連絡先                                      ┃
  270. ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  271.  
  272.     PowerStation    PS0071
  273.     満開ネット    MKSX0424
  274.     E-Mail        LeDA@osaka.email.ne.jp
  275.  
  276. 上記ならよく連絡が付きますが、まれにしばらく通信出来なくなることがありますので、
  277. 気長にお待ち下さい。
  278.  
  279.             LeDA
  280.  
  281. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  282.